package com.yanqu.road.entity.activity.feast.data;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.HashSet;
import java.util.Set;

/**
 * 宗门数据
 */
@FieldTypeAnnotation(tableName = "t_c_feast_pvp_camp_data")
public class CrossFeastPvpCampData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "阵营ID", update = true)
    private int campId;

    @FieldTypeAnnotation(desc = "宗门服务器id列表")
    private Set<Long> serverIdList = new HashSet<>();

    @FieldTypeAnnotation(desc = "本轮宗门积分")
    private long score;

    @FieldTypeAnnotation(desc = "活动总积分")
    private long totalScore;

    @FieldTypeAnnotation(desc = "宗主id")
    private long majorUserId;

    @FieldTypeAnnotation(desc = "副宗主id")
    private long minorUserId;

    @FieldTypeAnnotation(desc = "宗主标记宝地id")
    private int majorPlaceId;

    @FieldTypeAnnotation(desc = "副宗主标记宝地id")
    private int minorPlaceId;

    @FieldTypeAnnotation(desc = "宗主下次可标记宝地时间")
    private long majorMarkTime;

    @FieldTypeAnnotation(desc = "副宗主下次可标记宝地时间")
    private long minorMarkTime;

    @FieldTypeAnnotation(desc = "更新积分时间")
    private long updateScoreTime;

    @FieldTypeAnnotation(desc = "下次可任命副宗主时间")
    private long appointTime;

    @FieldTypeAnnotation(desc = "使用体力数量")
    private long totalUseEnergy;

    public CrossFeastPvpCampData() {

    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public int getCampId() {
        return campId;
    }

    public void setCampId(int campId) {
        if (this.campId != campId) {
            this.campId = campId;
            setOp(DataStatus.Update);
        }
    }

    public Set<Long> getServerIdList() {
        return serverIdList;
    }

    public void setServerIdList(Set<Long> serverIdList) {
        if (serverIdList == null) {
            return;
        }
        this.serverIdList = serverIdList;
        setOp(DataStatus.Update);
    }

    public long getScore() {
        return score;
    }

    public void setScore(long score) {
        if (this.score != score) {
            this.score = score;
            setOp(DataStatus.Update);
        }
    }

    public long getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(long totalScore) {
        if (this.totalScore != totalScore) {
            this.totalScore = totalScore;
            setOp(DataStatus.Update);
        }
    }

    public long getMajorUserId() {
        return majorUserId;
    }

    public void setMajorUserId(long majorUserId) {
        if (this.majorUserId != majorUserId) {
            this.majorUserId = majorUserId;
            setOp(DataStatus.Update);
        }
    }

    public long getMinorUserId() {
        return minorUserId;
    }

    public void setMinorUserId(long minorUserId) {
        if (this.minorUserId != minorUserId) {
            this.minorUserId = minorUserId;
            setOp(DataStatus.Update);
        }
    }

    public int getMajorPlaceId() {
        return majorPlaceId;
    }

    public void setMajorPlaceId(int majorPlaceId) {
        if (this.majorPlaceId != majorPlaceId) {
            this.majorPlaceId = majorPlaceId;
            setOp(DataStatus.Update);
        }
    }

    public int getMinorPlaceId() {
        return minorPlaceId;
    }

    public void setMinorPlaceId(int minorPlaceId) {
        if (this.minorPlaceId != minorPlaceId) {
            this.minorPlaceId = minorPlaceId;
            setOp(DataStatus.Update);
        }
    }

    public long getMajorMarkTime() {
        return majorMarkTime;
    }

    public void setMajorMarkTime(long majorMarkTime) {
        if (this.majorMarkTime != majorMarkTime) {
            this.majorMarkTime = majorMarkTime;
            setOp(DataStatus.Update);
        }
    }

    public long getMinorMarkTime() {
        return minorMarkTime;
    }

    public void setMinorMarkTime(long minorMarkTime) {
        if (this.minorMarkTime != minorMarkTime) {
            this.minorMarkTime = minorMarkTime;
            setOp(DataStatus.Update);
        }
    }

    public long getUpdateScoreTime() {
        return updateScoreTime;
    }

    public void setUpdateScoreTime(long updateScoreTime) {
        if (this.updateScoreTime != updateScoreTime) {
            this.updateScoreTime = updateScoreTime;
            setOp(DataStatus.Update);
        }
    }

    public long getAppointTime() {
        return appointTime;
    }

    public void setAppointTime(long appointTime) {
        if (this.appointTime != appointTime) {
            this.appointTime = appointTime;
            setOp(DataStatus.Update);
        }
    }

    public long getTotalUseEnergy() {
        return totalUseEnergy;
    }

    public void setTotalUseEnergy(long totalUseEnergy) {
        if (this.totalUseEnergy != totalUseEnergy) {
            this.totalUseEnergy = totalUseEnergy;
            setOp(DataStatus.Update);
        }
    }
}
